home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 001-025 / disk_013 / speak.bas < prev    next >
BASIC Source File  |  1992-05-06  |  4KB  |  143 lines

  1. 10    REM SPEECH DEMO PROGRAM
  2. 20    REM By Dave Ebert (10/13/85)
  3. 30    screen 0,4,0
  4. 40    SCNCLR
  5. 50    HOW%(0)=110:HOW%(1)=0:HOW%(2)=150:HOW%(3)=0:HOW%(4)=22200:HOW%(5)=64:HOW%(6)=10:HOW%(7)=0:HOW%(8)=0
  6. 60    TEXT$="HELLO"
  7. 70    GOSUB 320
  8. 80    SCNCLR
  9. 90    PRINT "    THE AMIGA SPEECH DEMONSTRATION"
  10. 100   PRINT:PRINT "Options:"
  11. 110   PRINT "========"
  12. 120   PRINT " [A] Voice Pitch"
  13. 130   PRINT " [B] Inflection"
  14. 140   PRINT " [C] Speaking Rate"
  15. 150   PRINT " [D] Male or Female"
  16. 160   PRINT " [E] Sampling Frequency"
  17. 170   PRINT " [F] Volume
  18. 180   PRINT " [G] Input Text for Speech"
  19. 190   PRINT " [H] End Program"
  20. 200   PRINT:PRINT "Choice ==>";
  21. 210   GETKEY C$
  22. 220   IF C$="a" or C$="A" THEN GOSUB 360
  23. 230   if C$="b" OR C$="B" THEN GOSUB 530
  24. 240   IF C$="c" OR C$="C" THEN GOSUB 710
  25. 250   IF C$="d" OR C$="D" THEN GOSUB 880
  26. 260   IF C$="e" OR C$="E" THEN GOSUB 1060
  27. 270   IF C$="f" OR C$="F" THEN GOSUB 1200
  28. 280   IF C$="g" OR C$="G" THEN GOSUB 1360
  29. 290   IF C$="h" OR C$="H" THEN GOTO 310
  30. 300   GOTO 80
  31. 310   END
  32. 320   REM SPEECH SUBROUTINE
  33. 330   A$=TRANSLATE$(TEXT$)
  34. 340   X%=NARRATE(A$,HOW%())
  35. 350   RETURN
  36. 360   REM VOICE PITCH
  37. 370   SCNCLR
  38. 380   PRINT "             VOICE PITCH"
  39. 390   PRINT "             ==========="
  40. 400   PRINT:PRINT
  41. 410   PRINT "Pitch Value (65-320)";
  42. 420   INPUT HOW%(0)
  43. 430   IF HOW%(0)<65 THEN GOTO 370
  44. 440   IF HOW%(0)>320 THEN GOTO 370
  45. 450   TEXT$="HELLO"
  46. 460   GOSUB 320
  47. 470   PRINT
  48. 480   PRINT "Finished";
  49. 490   INPUT F$
  50. 500   IF F$="Y" OR F$="y" THEN GOTO 520
  51. 510   GOTO 370
  52. 520   RETURN
  53. 530   REM INFLECTION
  54. 540   SCNCLR
  55. 550   PRINT "            VOICE INFLECTION"
  56. 560   PRINT "            ================"
  57. 570   PRINT:PRINT
  58. 580   PRINT "[0] - Inflection"
  59. 590   PRINT "[1] - Monotone"
  60. 600   PRINT:PRINT "Your Choice";
  61. 610   INPUT HOW%(1)
  62. 620   IF HOW%(1)<0 GOTO 540
  63. 630   IF HOW%(1)>1 GOTO 540
  64. 640   TEXT$="HELLO"
  65. 650   GOSUB 320
  66. 660   PRINT:PRINT "Finished";
  67. 670   INPUT F$
  68. 680   IF F$="Y" OR F$="y" THEN GOTO 700
  69. 690   GOTO 540
  70. 700   RETURN
  71. 710   REM SPEAKING RATE
  72. 720   SCNCLR
  73. 730   PRINT "              SPEAKING RATE"
  74. 740   PRINT "              ============="
  75. 750   PRINT:PRINT
  76. 760   PRINT "Words per minute (40-400)";
  77. 770   INPUT HOW%(2)
  78. 780   IF HOW%(2)<40 THEN GOTO 720
  79. 790   IF HOW%(2)>400 THEN GOTO 720
  80. 800   TEXT$="HELLO"
  81. 810   GOSUB 320
  82. 820   PRINT
  83. 830   PRINT "Finished";
  84. 840   INPUT F$
  85. 850   IF F$="Y" OR F$="y" THEN GOTO 870
  86. 860   GOTO 720
  87. 870   RETURN
  88. 880   REM SEX
  89. 890   SCNCLR
  90. 900   PRINT "                VOICE SEX"
  91. 910   PRINT "                ========="
  92. 920   PRINT:PRINT
  93. 930   PRINT "[0] - Male"
  94. 940   PRINT "[1] - Female"
  95. 950   PRINT:PRINT "Your choice";
  96. 960   INPUT HOW%(3)
  97. 970   IF HOW%(3)<0 GOTO 890
  98. 980   IF HOW%(3)>1 GOTO 890
  99. 990   TEXT$="HELLO"
  100. 1000  GOSUB 320
  101. 1010  PRINT:PRINT "Finished";
  102. 1020  INPUT F$
  103. 1030  IF F$="Y" OR F$="y" THEN GOTO 1050
  104. 1040  GOTO 890
  105. 1050  RETURN
  106. 1060  REM SAMPLING FREQUENCY
  107. 1070  SCNCLR
  108. 1080  PRINT "           SAMPLING FREQUENCY"
  109. 1090  PRINT "           =================="
  110. 1100  PRINT:PRINT "Desired Frequency (5000-28000)";:INPUT HOW%(4)
  111. 1110  IF HOW%(4)<5000 goto 1070
  112. 1120  IF HOW%(4)>28000 GOTO 1070
  113. 1130  TEXT$="HELLO"
  114. 1140  GOSUB 320
  115. 1150  PRINT:PRINT "Finished";
  116. 1160  INPUT F$
  117. 1170  IF F$="Y" OR F$="y" THEN GOTO 1190
  118. 1180  GOTO 1070
  119. 1190  RETURN
  120. 1200  REM VOICE VOLUME
  121. 1210  SCNCLR
  122. 1220  PRINT "              VOICE VOLUME"
  123. 1230  PRINT "              ============"
  124. 1240  PRINT:PRINT
  125. 1250  PRINT "Volume (0-64)";
  126. 1260  INPUT HOW%(5)
  127. 1270  IF HOW%(5)<0 GOTO 1210
  128. 1280  IF HOW%(5)>64 GOTO 1210
  129. 1290  TEXT$="HELLO"
  130. 1300  GOSUB 320
  131. 1310  PRINT:PRINT"Finished";
  132. 1320  INPUT F$
  133. 1330  IF F$="Y" OR F$="y" THEN GOTO 1350
  134. 1340  GOTO 1210
  135. 1350  RETURN
  136. 1360  REM TEXT INPUT SUBROUTINE
  137. 1370  SCNCLR
  138. 1380  INPUT "TEXT==>";TEXT$
  139. 1390  IF TEXT$="" THEN GOTO 1420
  140. 1400  GOSUB 320
  141. 1410  GOTO 1380
  142. 1420  RETURN
  143.